#!/user/bin/env python
# -*- coding: utf-8 -*-
''' 
Author: Sjy
LastEditTime: 2024-11-01 14:28:08
Description: 提供 plugin 类用于继承 

生命周期
    加载（注册）
        注册菜单
        注册工作区
        注册停靠窗口
        注册运行命令
        注册状态栏
        。。。 注册其他可扩展界面
        
    初始化
        初始化配置
        初始化界面&数据

    更新
        更新配置
        更新界面&数据

    卸载（注销）
        卸载全部已注册的配置信息
        动态卸载已注册的界面 并清除数据
        

'''

__all__= []

import os
import sys
from PyQt5 import QtCore, QtGui, QtWidgets  
import gui.components.utils as utils

class Plugin:
    def __init__(self, params:dict={}, *args, **kwargs):
        if utils.is_dict(params):
            self.__params = params
        else:
            self.__params = {}
    def get_name(self):
        return ""
    def get_version(self):
        return ""
    def get_company(self):
        return "" # www.carvecloud.com
    def get_description(self):
        return ""
    # 响应回调函数
    def on_load_before(self) -> None:
        """插件安装前的回调函数
        """
        pass
    def on_load(self) -> None:
        """插件安装时的回调函数
        """
        pass
    def on_load_after(self) -> None:
        """插件安装后的回调函数
        """
        pass
    def on_load_all_done(self) -> None:
        """插件安装后的回调函数
        """
        pass
    def on_init_before(self) -> None:
        """插件初始化前的回调函数
        """
        pass
    def on_init(self) -> None:
        """插件初始化时的回调函数
        """
        pass
    def on_init_after(self) -> None:
        """插件初始化后的回调函数
        """
        pass
    def on_unload_before(self) -> None:
        """插件卸载前的回调函数
        """
        pass
    def on_unload(self) -> None:
        """插件卸载时的回调函数
        """
        pass
    def on_unload_after(self) -> None:
        """插件卸载后的回调函数
        """
        pass
